package com.yanqu.road.entity.log.horserun;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.log.ServerBaseLog;
import com.yanqu.road.entity.log.maidian.BaseLogEntity;

import java.util.Map;

@FieldTypeAnnotation(tableName = "t_l_horse_run_event",autoSave = true,uploadCk = true,desc = "小马快跑事件遇到处理日志")
public class HorseRunEventLog extends ServerBaseLog {

    @FieldTypeAnnotation(desc = "活动ID", isIndex = true, dataAttribute = "activityid")
    private int activityId;
    @FieldTypeAnnotation(desc = "用户ID", isIndex = true)
    private long userId;
    @FieldTypeAnnotation(desc = "轮次id",dataAttribute = "round_id")
    private int roundId;
    @FieldTypeAnnotation(desc = "奖励倍率",dataAttribute = "horserun_riskratio")
    private int rate;
    @FieldTypeAnnotation(desc = "阶段id",dataAttribute = "horserun_riskid")
    private int process;
    @FieldTypeAnnotation(desc = "天数",dataAttribute = "horserun_riskday")
    private int day;
    @FieldTypeAnnotation(desc = "冒险类型 1遇到2处理",dataAttribute = "horserun_risktype")
    private int type;
    @FieldTypeAnnotation(desc = "当前评分",dataAttribute = "horserun_score")
    private long grade;
    @FieldTypeAnnotation(desc = "当前信心值",dataAttribute = "horserun_faith")
    private int nowConfident;
    @FieldTypeAnnotation(desc = "事件id",dataAttribute = "horserun_eventid")
    private int eventId;
    @FieldTypeAnnotation(desc = "对方评分",dataAttribute = "horserun_othscore")
    private long otherGrade;
    @FieldTypeAnnotation(desc = "获得加成",dataAttribute = "horserun_buff",saveJson = true)
    private Map<Integer,Integer> attrChange;
    @FieldTypeAnnotation(desc = "获得道具",dataAttribute = "horserun_get")
    private String reward;
    @FieldTypeAnnotation(desc = "获得经验",dataAttribute = "horserun_getexp")
    private long expGet;
    @FieldTypeAnnotation(desc = "大吉次数")
    private int bigLuckTime;
    @FieldTypeAnnotation(desc = "抽奖剩余次数")
    private int lotteryRemain;


    public HorseRunEventLog() {
    }

    public HorseRunEventLog(int activityId, long userId, int roundId, int rate, int process, int day, int type, long grade, int nowConfident, int eventId, long otherGrade, Map<Integer, Integer> attrChange, String reward, long expGet, int bigLuckTime, int lotteryRemain) {
        this.activityId = activityId;
        this.userId = userId;
        this.roundId = roundId;
        this.rate = rate;
        this.process = process;
        this.day = day;
        this.type = type;
        this.grade = grade;
        this.nowConfident = nowConfident;
        this.eventId = eventId;
        this.otherGrade = otherGrade;
        this.attrChange = attrChange;
        this.reward = reward;
        this.expGet = expGet;
        this.bigLuckTime = bigLuckTime;
        this.lotteryRemain = lotteryRemain;
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    @Override
    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getRoundId() {
        return roundId;
    }

    public void setRoundId(int roundId) {
        this.roundId = roundId;
    }

    public int getRate() {
        return rate;
    }

    public void setRate(int rate) {
        this.rate = rate;
    }

    public int getProcess() {
        return process;
    }

    public void setProcess(int process) {
        this.process = process;
    }

    public int getDay() {
        return day;
    }

    public void setDay(int day) {
        this.day = day;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public long getGrade() {
        return grade;
    }

    public void setGrade(long grade) {
        this.grade = grade;
    }

    public int getNowConfident() {
        return nowConfident;
    }

    public void setNowConfident(int nowConfident) {
        this.nowConfident = nowConfident;
    }

    public int getEventId() {
        return eventId;
    }

    public void setEventId(int eventId) {
        this.eventId = eventId;
    }

    public long getOtherGrade() {
        return otherGrade;
    }

    public void setOtherGrade(long otherGrade) {
        this.otherGrade = otherGrade;
    }

    public Map<Integer, Integer> getAttrChange() {
        return attrChange;
    }

    public void setAttrChange(Map<Integer, Integer> attrChange) {
        this.attrChange = attrChange;
    }

    public String getReward() {
        return reward;
    }

    public void setReward(String reward) {
        this.reward = reward;
    }

    public long getExpGet() {
        return expGet;
    }

    public void setExpGet(long expGet) {
        this.expGet = expGet;
    }


}
